Minimizing productivity loss in a collaborative sharing environment

ABSTRACT

According to one or more embodiments of the disclosure, a local network device establishes a communication session with a remote network device in the communication network, and designates at least one program from a plurality of programs executable by the local network device for access by the remote network device to yield a designated program. The local network device further generates a shared display object, and associates each designated program with the shared display object to permit display thereof. The local network device further instantiates one or more shared control objects associated with the shared display object, and facilitate access to each designated program for the remote network device using at least one of the one or more shared control objects.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.14/618,532 filed on Feb. 10, 2015, the contents of which is incorporatedby reference in its entirety.

TECHNICAL FIELD

The present disclosure pertains to communication systems, and moreparticularly, to improving collaboration amongst parties using local andremote network devices.

BACKGROUND

Communication technologies connect an ever increasing number of peopleusing various communication networks and supports real-timecollaborative environments for multiple users, regardless of geographiclocation.

One type of real-time collaborative environment includes shared desktopapplications or programs that allow a remote user access to a localdesktop session running on a local network device, using a remotenetwork device. That is, a remote user, using, for example, a homecomputer, can access a corresponding work computer, includingapplications, files, and network resources from the work computer, asthough the remote user were in front of the work computer. Typically,such desktop sharing applications grant one user—here, the remoteuser—full access to the work computer.

Another type of a real-time collaborative environment includes webconferencing applications or programs that allow multiple parties, eachhaving their own computer or network device, to connect and access toone or more other parties' network device(s) over a communicationnetwork. For example, some web conferencing applications enable multipleattendees access to a shared network device from presenter or localowner (e.g., a desktop owner), which is particularly useful fortechnical troubleshooting sessions. During a technical troubleshootingsession, a technical support engineer—e.g., a remote user—accesses theshared network device to assist the user—e.g., a local user—troubleshootissues with programs, network connections, and the like. Typically, forthese web conferencing applications, the remote user accesses anddisplays (from a remote device) the local network device similar to theshared desktop programs, discussed above—with full access and as thoughthe remote user were in front of the local network device.

However, conventional real-time collaborative environments, such asthose discussed above, typically result in a loss of productivity forthe local user(s) by limiting access by the local user to resources ontheir own local network device when the remote user controls thecollaborative session (e.g., a collaborative session can only becontrolled by one user at a time).

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the disclosure can be obtained, a moreparticular description of the principles briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. Understanding that these drawingsdepict only exemplary embodiments of the disclosure and are nottherefore to be considered to be limiting of its scope, the principlesherein are described and explained with additional specificity anddetail through the use of the accompanying drawings in which:

FIG. 1 illustrates an example communication network;

FIG. 2 illustrates an example network device/node;

FIG. 3 illustrates an example view of a local network device and aremote network device establishing a shared communication session;

FIG. 4 illustrates an example view of a local display during the sharedcommunication session;

FIG. 5 illustrates an example view of a remote display during the sharedcommunication session;

FIG. 6 illustrates an example view of the local display during theshared communication session, showing a local user accessingnon-designated programs; and

FIG. 7 illustrates an example simplified procedure for minimizingproductivity loss in a collaborative sharing environment, particularlyfrom the perspective of a local network device.

Unless otherwise specified herein, a component or a feature that iscommon to more than one drawing is indicated with the same referencenumber in each of the drawings.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

According to one or more embodiments of the disclosure, a local networkdevice establishes a communication session with a remote network devicein the communication network, and designates at least one program from aplurality of programs executable by the local network device for accessby the remote network device to yield a designated program. The localnetwork device further generates a shared display object, and associateseach designated program with the shared display object to permit displaythereof (e.g., by the local network device and/or the remote networkdevice). The local network device also instantiates one or more sharedcontrol objects associated with the shared display object, andfacilitate access to each designated program for the remote networkdevice using at least one of the one or more shared control objects.

DESCRIPTION

Various embodiments of the disclosure are discussed in detail below.While specific implementations are discussed, it should be understoodthat this is done for illustration purposes only. A person skilled inthe relevant art will recognize that other components and configurationsmay be used without parting from the spirit and scope of the disclosure.

As used herein, the term “user” refers to a user of an electronicdevice(s). Actions performed by a user in the context of executablesoftware shall be considered to be actions taken by a user to provide aninput to the electronic device(s), such as a network device, to causethe electronic device to perform the steps embodied in executablesoftware.

As used herein, the term “program” or “application” refers to softwareexecutable by appropriate computing devices, including network devices.

As used herein, the term “remote” generally refers to being located at adifferent location (physical, network, or otherwise) or at a differentdevice, or having the ability to access another device or system fromthe different physical location or the different device.

As used herein, the term “local” is used to distinguish a location ordevice separate from a remote location or device.

Referring now to FIG. 1, a schematic block diagram of a communicationnetwork 100 is illustrated. A communication network is a geographicallydistributed collection of devices or nodes interconnected bycommunication links and segments for transporting data between enddevise or nodes, such as personal computers and workstations, or otherdevices, such as tablets, etc. Many types of networks are available,with the types ranging from local area networks (LANs) to wide areanetworks (WANs). LANs typically connect the nodes over dedicated privatecommunications links located in the same general physical location, suchas a building or campus. WANs, on the other hand, typically connectgeographically dispersed nodes over long-distance communications links,such as common carrier telephone lines, optical lightpaths, synchronousoptical networks (SONET), synchronous digital hierarchy (SDH) links, orPowerline Communications (PLC) such as IEEE 61334, CPL G3, Watt PulseCommunication (WPC), and others. In addition, a Mobile Ad-Hoc Network(MANET) is a kind of wireless ad-hoc network, which is generallyconsidered a self-configuring network of mobile routes (and associatedhosts) connected by wireless links, the union of which forms anarbitrary topology.

Illustratively, the various network nodes or devices shown in FIG. 1 areinterconnected by a communication network 105, such as the Internet.With respect to the devices, FIG. 1 illustrates network devices 110(e.g., labeled as shown, “110 a”, “110 b”, “110 c”, “ . . . ”)associated with a “local” user 110, network devices 115 (e.g., labeledas shown, “115 a”, “115 b”, “115 c”, etc.) associated with a “remote”user 115, and an additional network device 120 (e.g., a host server, andthe like) for facilitating communication between devices associated withlocal user 110 and devices associated with remote user 115. With respectto communication, the network devices shown in FIG. 1 are interconnectedwithin network 105 by various methods of communication. For instance,communication methods may include wired links or wireless communicationmediums. Those skilled in the art will understand that any number ofnodes, devices, links, etc. may be used in the network 105, and that theview shown herein is for simplicity. Also, while the embodiments areshown herein with reference to “remote” devices associated with user 115and “local” devices associated with user 110, the description herein isnot so limited, and may be applied interchangeably to each of thenetwork devices, remote, local, or otherwise.

FIG. 2 is a schematic block diagram of an example node/device 200 thatmay be used with one or more embodiments described herein, e.g., as a“local” device 110, a “remote” device 115, or even as an additionalnetwork device 120 for facilitating communication amongst local andremote devices (e.g. hosting the communication session, etc.). Device200 may comprise one or more network interfaces 210, at least onehardware processor 220 (e.g., including appropriate hardware andcircuitry to execute encoded instructions), and a memory 240interconnected by a system bus 250.

Network interface(s) 210 contain the mechanical, electrical, andsignaling circuitry for communicating data over physical and/or wirelesslinks coupled to network 100. The network interfaces may be configuredto transmit and/or receive data using a variety of differentcommunication protocols, including, inter alia, TCP/IP, UDP, wirelessprotocols (e.g., IEEE Std. 802.15.4, WiFi, Bluetooth®), Ethernet,powerline communication (PLC) protocols, etc.

Memory 240 comprises a plurality of storage locations that areaddressable by processor 220 and network interfaces 210 for storingsoftware programs and data structures associated with the embodimentsdescribed herein. As noted herein, certain devices may have limitedmemory or no memory (e.g., no memory for storage other than forprograms/processes operating on the device). Processor 220 may comprisenecessary elements or logic adapted to execute the software programs andmanipulate data structures 245, such as tables, routes or prefixes. Anoperating system 242, portions of which are typically resident in memory240 and executed by the processor, functionally organizes the device by,inter alia, invoking operations in support of software processes and/orservices executing on the device. These software processes and/orservices may comprise a designated sharing process/service 244.Designated sharing process (services) 244 includes computer executableinstructions executed by processor 220 to perform functions provided byone or more collaborative sharing techniques discussed herein. It willbe apparent to those skilled in the art that other processor and memorytypes, including various computer-readable media, may be used to storeand execute program instructions pertaining to the techniques describedherein. Also, while the description illustrates various processes, it isexpressly contemplated that various processes may be embodied as modulesconfigured to operate in accordance with the techniques herein (e.g.,according to the functionality of a similar process). Operatively, thetechniques described herein, including functions relating to suchtechniques, may be performed by hardware, software, and/or firmware,such processor 220 or an independent processor of network interfaces210.

As noted above, conventional real-time collaborative environmentstypically result in a loss in productivity for local users when thelocal device is accessed by remote users. For example, when a remoteuser, using a remote device, accesses a local user's local device fortroubleshooting, the remote user typically has shared control ofinputs—e.g., keyboard, mouse, display, and the like. During suchtroubleshooting, the local user is regaled to the role of observer so asnot to interrupt the troubleshooting process—e.g., interfering with theremote user's control of the inputs. Accordingly, the collaborativesharing techniques disclosed herein alleviate such loss in productivityduring collaborative or shared communication sessions by providing thelocal user options to designate portions of the local device such asapplications or programs, for sharing within a shared area, whileretaining full access to non-designated applications or programs for thelocal user.

For example, referring to FIG. 3, a local network device 110 x (e.g.,operable by a local user 110), establishes a communication session 305with a remote network device 115 x (e.g., remote user 115). Typically,the local network device connects with a network server such as networkdevice 120 (shown in FIG. 1), which hosts a communication session suchas a collaborative sharing environment (e.g., a web-conference, etc.),for local network device 110 x and remote network device 115 x. Such acollaborative sharing environment is illustrated by exemplary viewsshown in FIGS. 4, 5, and 6. For purposes of discussion, not limitation,functionality of the collaborative sharing environment is described withrespect to the local network device 110 x and remote network device 115x, including displays associated with each device (e.g., a “local”display and a “remote” display). Moreover, network devices 110 x and 115x may generally represent any type of appropriate computing device(e.g., mobile devices, computers, laptops, tablets, work stations,terminals, and the like), as is appreciated by those skilled in the art.

FIG. 4 illustrates an example view 400 of a local display associatedwith the local network device 110 x during the shared communicationsession 305. As discussed above, the collaborative sharing techniquesallow local network device 110 x to designate specific local programs orapplications (e.g., locally stored programs executable by the localnetwork device) for shared access by remote network device 115 x. Asshown in view 400, two programs 405 and 410 are selected or designated(e.g., by user 110) from the plurality of local programs 415, 420, 425and 430 for shared access by the remote network device 115 x.Illustratively, the designated programs are further associated with ashared display object such as a shared access area 437 within acollaborative shared window 435, which is displayed on a portion of thelocal display.

In particular, during the shared communication session 305, localnetwork device 110 x and/or remote network device 115 x share access todesignated programs 405 and 410 displayed in a shared access area 437.In addition, shared access area 437 displays interactions or activityfrom local network device 110 x and/or remote network device 115 x withthe designated programs 405 and 410 allowing local user 110 and remoteuser 115 to monitor such interactions. Operatively, local user 110designates programs for shared access and display in shared access area437 using various means, such as drag and drop, selecting from a list,and the like, as is appreciated by those skilled in the art.Additionally, as shown, the collaborative shared window 435 alsosupports real-time video conferencing with remote user 115 andinteractive dialog options—“Chat”.

Importantly, as discussed above, the shared access area 437 facilitatesor provides shared access for designated programs to remote users, usingremote network devices, while maintaining independent access tonon-designated programs for local users, using local network devices. Inparticular, non-designated programs 415, 420, 425 and 430 areindependently accessible by local device 110 x-shown in the non-sharedaccess display area 440—while designated programs 405 and 410 are sharedwith remote network device 115 x during the shared communication session305. In this fashion, local user 110, using local device 110 x continuesto access non-designated programs while remote user 115, using remotedevice 115 x, can access, troubleshoot, interact with, or otherwisemanipulate the designated programs 405 and 410. Put differently, localdevice 110 x continues to access non-designated applicationsindependently of designated programs, which are shared with remotedevice 115 x. As discussed in greater detail below, local network device110 x typically provides separate control objects (e.g., displayed aspointers, cursors, etc.) for the non-shared access area 440 and for theshared access area 437 to enable the local user 110 to continue toaccess non-designated programs on local network device 110 x. Forexample, the local network device 110 x can instantiate “shared” controlobjects associated with the shared access area 437 and also maintain“local” control objects associated with the non-shared access area 440.Preferably, local network device 110 x maintains an association betweenlocal input devices or local peripherals such as a mouse/keyboard/etc.,with the “local” control objects, and also associates remote inputdevices or remote peripherals with the instantiated “shared” controlobjects. Instantiating “shared” control objects (independent from“local” control objects) and association of the “shared” control objectswith the remote input devices allows a local user to continue towork/access non-designated programs on the local network device 110 xwithout relinquishing control over the local input devices, whichultimately minimizes productivity loss for local and remote users duringthe shared communication session.

With respect to control objects, local network device 110 x caninstantiate one or more control objects and associate each controlobject with the shared display object (e.g., displayed as the sharedaccess area 437). As shown in FIG. 4, the control objects may include ashared pointer 450. Operatively, shared pointer 450 is displayed on thelocal display within shared access area 437, by local network device 110x. In preferred embodiments, shared control objects, such as sharedpointer 450, are restricted to or fenced in by shared access area 437,and may only interact with designated programs 410 and 405. Moreover,for these preferred embodiments, local network device 110 x typicallydifferentiates the shared control objects from local controlobjects—e.g., shared pointer 450 is displayed in a different color thana local pointer 445. In certain preferred embodiments, the local controlobjects and the shared control objects are distinguishable by varyingshapes, sizes, colors, and the like.

The shared control objects are also assigned to corresponding inputdevices or peripherals—e.g., a local input device, a remote inputdevice, or both local and remote input device(s). For example, sharedpointer 450 can be assigned to a remote input device (e.g., a remotemouse) operable by remote network device 115 x, while local pointer 445can be assigned to a local input device (e.g., a local mouse) operableby local network device 110 x. In certain instances, shared controlobjects and local control objects can be assigned to the same inputdevice—e.g., when local pointer 445 interacts with shared access area437, local pointer 445 and shared pointer 450. In such instances, thelocal input device and the remote input device can be both assigned tothe shared control object, which can result in potentially conflictinginput commands for the shard control object. To resolve the conflictinginput commands, certain embodiments provide a priority scheme wherebyone input device—e.g., either a local input device or a remote inputdevice—controls the shared control object during interaction between thecorresponding local network device 110 x or remote network device 115 xand shared access area 437. In other embodiments, input control for theshared access area 437 can be exchanged between local network device 110x and remote network device 115 x using a selectable menu, an inputcommand option (e.g., a mouse click, a keystroke, active window command,etc.), and the like.

Moreover, when local network device 110 x interacts with shared accessarea 437 and assigns a local input device to the shared control object,local network device 110 x may remove differentiation between the sharedcontrol object—e.g., the shared pointer 450—and the local controlobject—e.g., the local pointer 445—resulting in display of a singlecontrol object—e.g., a single pointer—as is appreciated by those skilledin the art. Further, although the shared control object shown in view400 of the local display is a pointer object, the shared control objectcan include any type of figure, shape, representation, etc., as isappreciated by those skilled in the art.

FIG. 5 illustrates an example view 500 of a remote display associatedwith the remote network device 115 x for the shared communicationsession 305. Similar to example view 400, discussed above, remote device115 x displays a collaborative shared window 535 on the remote display,which corresponds to collaborative shared window 435. Collaborativeshared window 535 displays shared access area 437, the designatedprograms 405 and 410, and shared control object 450. Additionally, view500 shows remote user 115 interacting with one of the designatedprograms in shared access area 437, using a command prompt display 505(e.g., to access the designated program, troubleshoot an issue, etc.).In addition to shared control object 450, view 500 also illustrates asecond shared control object—a shared cursor 550. As discussed above,the shared control objects can be assigned to various input devices forthe local network device, the remote network device, and combinationsthereof. As shown here, the shared cursor 550 can be assigned to aremote input device such as a remote keyboard corresponding to remotenetwork device 115 x. Preferably, remote network device 115 x, likelocal network device 110 x, maintains independent access remoteprograms, shown in a non-shared access area 540 (e.g., including,non-shared programs 505, 510, and 515). Further, remote device 115 x canmaintain a non-shared remote control object such as a remote pointer 545for a corresponding remote input device.

FIG. 6 illustrates an example view 600 of the local display during theshared communication session 305, showing local user 110 accessing oneof the non-designated programs, represented by a document window 605,during the shared communication session 305. As discussed in greaterdetail above, local user 110 can access the non-designated programsduring the shared communication session, which minimizes productivityloss for both local and remote users. In addition to maintainingindependent access to the non-designated programs, local network device110 x also allows local user 110 to re-dimension or resize display ofthe collaborative shared window 435, independent from the dimensions ofcollaborative shared window 535 displayed by remote network device 115x. Independently resizing collaborative shared window 435 on each localnetwork device 110 x and remote network device 115 x provides additionalflexibility for local and remote users to minimize productivity lossduring the shared communication session. For example, local user 110 maydecrease or minimize display of collaborative shared window 535 on thelocal display to focus on work with the non-designated programs, whileremote user 115 may increase or maximize display of the collaborativeshared window 435 on the remote display to focus on troubleshooting anissue with the designated programs.

FIG. 7 illustrates an example simplified procedure 700 for minimizingproductivity loss in a collaborative sharing environment, particularlyfrom the perspective of a local network device, in accordance with oneor more embodiments described herein (e.g., designated sharing process244).

Procedure 700 begins at step 705 and continues to step 710 where, asdiscussed above, the local network device establishes a communicationsession with one or more remote network devices. Next, the local networkdevice determines if a program is designated for shared access (e.g., adesignated program) in decision step 715. If the program is notdesignated, the local network device prohibits access by the remotenetwork device in step 720.

In contrast, if the program is designated for shared access, the localnetwork device provides access to the designated programs to the remotenetwork device, in step 725. For example, the local network device canassociate designated programs with shared display objects such as theshared access area, discussed above, and provide the shared displayobject to the remote device for display on a corresponding remotedisplay, shown in step 730.

Optionally, in step 735, the shared display object is displayed on alocal display independent from display on the remote display to allowusers flexibility in sizing, positioning, or other adjustment to displaythe shared display object.

Local network device further establishes or instantiates shared controlobjects to interact with or manipulate the shared display object in step740. For example, the shared control object can include cursors,pointers, or other shared control objects, which are assigned to localand/or remote input devices or peripherals (keyboard, mouse, etc.).Preferably, the shared control objects are established independent fromlocal and/or remote control objects such that the local user and/orremote user can interact with or manipulate non-designated programsusing local and/or remote input devices or peripherals. In addition, theshared control objects, are typically fenced within or restricted to theshared display object, shown in step 745, and can only interact with ormanipulate designated programs (e.g., displayed in the shared accessarea 437). In some embodiments, the local network device alsodifferentiates or distinguishes the shared control objects from localcontrol objects (e.g., by color, size, shape, etc.), shown in step 750.

Optionally, the local network device can de-designate a program duringthe shared communication session, in step 755, and restrict access fromthe remote network device. Procedure 700 subsequently ends in step 760,but may return to step 705 to establish a shared communication sessionwith the remote network device.

It should be noted that while certain steps within procedure 700 may beoptional as described above, the steps shown in FIG. 7 are merelyexamples for illustration, and certain other steps may be included orexcluded as desired. Further, while a particular order of the steps isshown, this ordering is merely illustrative, and any suitablearrangement of the steps may be utilized without departing from thescope of the embodiments herein.

The techniques described herein, therefore, minimize productivity lossin a collaborative sharing environment for local and remote users. Inparticular, the techniques herein significantly specify or designateshared access to particular programs for a local network device, whilemaintaining independent access to non-designated programs by the localuser during a shared communication session. In this fashion, the localuser can continue to work with non-designated programs while adesignated program is accessed by a remote user for troubleshooting, andthe like. Moreover, the techniques described herein also leveragesshared control objects in addition to local/remote control objects toallow local/remote users independent access to non-designated programsduring the shared communication session. The techniques may furtherintegrate directly with conventional sharing programs (e.g., WebExdesktop sharing sessions, etc.).

While there have been shown and described illustrative embodiments thatprovide for minimizing productivity loss in the collaborative sharingenvironment, it is to be understood that various other adaptations andmodifications may be made within the spirit and scope of the embodimentsherein. For example, the embodiments have been shown and describedherein with relation to a local network device and a remote networkdevice, with particular functionality carried out by each device.However, the embodiments in their broader sense are not as limited, andmay, in fact, be employed by other network devices (e.g., network device120), which can host the collaborative sharing environment and employany of the techniques described herein. Moreover, while certain viewsare shown, such as from the perspective of a particular network device,such views are for purposes of illustration, not limitation.

The foregoing description has been directed to specific embodiments. Itwill be apparent; however, that other variations and modifications maybe made to the described embodiments, with the attainment of some or allof their advantages. For instance, it is expressly contemplated that thecomponents and/or elements described herein can be implemented assoftware being stored on a tangible (non-transitory) computer-readablemedium, devices, and memories (e.g., disks/CDs/RAM/EEPROM/etc.) havingprogram instructions executing on a computer, hardware, firmware, or acombination thereof. Further, methods describing the various functionsand techniques described herein can be implemented usingcomputer-executable instructions that are stored or otherwise availablefrom computer readable media. Such instructions can comprise, forexample, instructions and data which cause or otherwise configure ageneral purpose computer, special purpose computer, or special purposeprocessing device to perform a certain function or group of functions.Portions of computer resources used can be accessible over a network.The computer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, firmware, orsource code. Examples of computer-readable media that may be used tostore instructions, information used, and/or information created duringmethods according to described examples include magnetic or opticaldisks, flash memory, USB devices provided with non-volatile memory,networked storage devices, and so on. In addition, devices implementingmethods according to these disclosures can comprise hardware, firmwareand/or software, and can take any of a variety of form factors. Typicalexamples of such form factors include laptops, smart phones, small formfactor personal computers, personal digital assistants, and so on.Functionality described herein also can be embodied in peripherals oradd-in cards. Such functionality can also be implemented on a circuitboard among different chips or different processes executing in a singledevice, by way of further example. Instructions, media for conveyingsuch instructions, computing resources for executing them, and otherstructures for supporting such computing resources are means forproviding the functions described in these disclosures. Accordingly thisdescription is to be taken only by way of example and not to otherwiselimit the scope of the embodiments herein. Therefore, it is the objectof the appended claims to cover all such variations and modifications ascome within the true spirit and scope of the embodiments herein.

1. A method comprising: establishing a real-time communication sessionbetween a local network device and a remote network device; designatinga program for access during the communication session to yield adesignated program; and generating a shared display object having ashared access area, the shared display object restricted for interactiononly with the designated program.
 2. The method of claim 1, whereinmaintaining, by the local network device, access for the local networkdevice to each program not designated by the local network device,further comprises: maintaining, by the local network device, access forthe local network device to each program not designated by the localnetwork device using one or more local control objects.
 3. The method ofclaim 1, further comprising: removing, by the local network device, adesignation for the designated program to prohibit access by the remotenetwork device.
 4. The method of claim 1, further comprising:instantiating one or more shared control objects associated with theshared display object, the one or more shared control objects includinga shared pointer, the shared pointer separately displayed with a localpointer assigned to the local network device.
 5. The method of claim 4,further comprising: facilitating access to the designated program forthe remote network device using at least one of the one or more sharedcontrol objects.
 6. The method of claim 5, wherein the facilitating ofthe access to the designated program includes: providing, by the localnetwork device, the shared display object to the remote network deviceto cause the remote network device to display the shared display objecton a portion of a remote display associated with the remote networkdevice; displaying, by the local network device, the shared displayobject on a portion of a local display associated with the local networkdevice; and adjusting, by the local network device, a first display areaassociated with the portion of the local display displaying the shareddisplay object independently from a second display area associated withthe portion of the remote display displaying the shared display object.7. The method of claim 6, wherein the shared display object is a displaywindow.
 8. The method of claim 6, further comprising: displaying, by thelocal network device, the one or more shared control objects on theportion of the local display that displays the shared display object;providing, by the local network device, the one or more shared controlobjects to the remote network device to cause the remote network deviceto display the one or more shared control objects on the portion of theremote display that displays the shared display object; and restricting,by the local network device, display of each shared control object tothe portion of the local display that displays the shared display objectand the portion of the remote display that displays the shared displayobject.
 9. The method of claim 1, further comprising: displaying, by thelocal network device, the shared display object and one or more sharedcontrol objects on a local display; displaying, by the local networkdevice, one or more local control objects associated with correspondinglocal input devices on the local display; and differentiating, by thelocal network device, the display of the one or more shared controlobjects from the one or more local control objects on the local display.10. The method of claim 1, further comprising: assigning, by the localnetwork device, each shared control object of one or more shared controlobjects to a corresponding remote input device associated with theremote network device.
 11. The method of claim 10, further comprising:assigning, by the local network device, each shared control object ofone or more shared control objects to a corresponding local input deviceassociated with the local network device when input commands from thelocal input device correspond to the shared display object.
 12. A localnetwork device comprising: one or more processors coupled to one or morenetwork interfaces; and a memory configured to store one or moreprocesses that, when executed by the one or more processors, cause theone or more processors to: establish a real-time communication sessionbetween the local network device and a remote network device; designatea program for access during the communication session to yield adesignated program; generate a shared display object having a sharedaccess area, the shared display object restricted for interaction onlywith the designated program.
 13. The local network device of claim 12,wherein the one or more processes, when executed by the one or moreprocessors, further cause the one or more processors to maintain accessfor the local network device to each program not designated by the localnetwork device using one or more local control objects.
 14. The localnetwork device of claim 12, wherein the one or more processes, whenexecuted by the one or more processors, further cause the one or moreprocessors to: instantiate one or more shared control objects associatedwith the shared display object, the one or more shared control objectsincluding a shared pointer, the shared pointer separately displayed witha local pointer assigned to the local network device, and facilitateaccess to the designated program for the remote network device using atleast one of the one or more shared control objects.
 15. The localnetwork device of claim 12, wherein facilitating access to eachdesignated program for the remote network device includes: providing theshared display object to the remote network device to cause the remotenetwork device to display the shared display object on a portion of aremote display associated with the remote network device; displaying theshared display object on a portion of a local display associated withthe local network device; and adjusting a first display area associatedwith the portion of the local display displaying the shared displayobject independent from a second display area associated with theportion of the remote display displaying the shared display object. 16.The local network device of claim 15, wherein the one or more processes,when executed by the one or more processors, further cause the one ormore processors to: display the one or more shared control objects onthe portion of the local display displaying the shared display object;provide the one or more shared control objects to the remote networkdevice to cause the remote network device to display the one or moreshared control objects on the portion of the remote display displayingthe shared display object; and restrict display of each shared controlobject to the portion of the local display displaying the shared displayobject and the portion of the remote display displaying the shareddisplay object.
 17. The local network device of claim 12, wherein theone or more processes, when executed by the one or more processors,further cause the one or more processors to: display the shared displayobject and one or more shared control objects on a local display;display one or more local control objects associated with correspondinglocal input devices on the local display; and differentiate the displayof the one or more shared control objects from the one or more localcontrol objects on the local display.
 18. A tangible, non-transitory,computer-readable media having software encoded thereon that, whenexecuted by one or more processors, cause the one or more processors to:establish a real-time communication session between a local networkdevice and a remote network device; designate a program for accessduring the communication session to yield a designated program; generatea shared display object having a shared access area, the shared displayobject restricted for interaction only with the designated program. 19.The tangible, non-transitory, computer-readable media of claim 18,wherein the one or more processors further cause the one or moreprocessors to: provide the shared display object to the remote networkdevice to cause the remote network device to display the shared displayobject on a portion of a remote display associated with the remotenetwork device; display the shared display object on a portion of alocal display associated with the local network device; and adjust afirst display area associated with the portion of the local displaydisplaying the shared display object independent from a second displayarea associated with the portion of the remote display displaying theshared display object.
 20. The tangible, non-transitory,computer-readable media of claim 19, wherein the one or more processorsfurther cause the one or more processors to: display the one or moreshared control objects on the portion of the local display displayingthe shared display object; provide the one or more shared controlobjects to the remote network device to cause the remote network deviceto display the one or more shared control objects on the portion of theremote display displaying the shared display object; and restrictdisplay of each shared control object to the portion of the localdisplay displaying the shared display object and the portion of theremote display displaying the shared display object.